function inv_x = module_inverse(x, m)
%%
% 函数名：inv_x = module_inverse(x, m)
% 功  能：求 x 关于模 m 下的倒数
% 参  数：
%       x：需要求倒数的数
%       m：模
% 返回值：
%       inv_x：x 关于模 m 下的倒数
%
% 注：满足 (inv_x * x) mod m == 1
%%

    [~, y] = gcd(x, m);
    y = mod(y, m);

    assert(mod(x * y, m) == 1, 'WARNING：x 在模 m 下没有倒数');

    inv_x = y;

end